// 文件上传响应类型
export interface UploadResponse {
  fileId: string;
  fileName: string;
  fileSize: number;
  uploadTime: string;
  status: string;
}

// 文件列表查询参数
export interface FileListParams {
  page?: number;
  pageSize?: number;
  status?: 'all' | 'pending' | 'processing' | 'completed' | 'failed';
}

// 文件列表响应类型
export interface FileListResponse {
  total: number;
  list: Array<{
    fileId: string;
    fileName: string;
    fileSize: number;
    uploadTime: string;
    status: string;
    description: string;
  }>;
}

// 分析任务参数
export interface AnalyzeParams {
  fileIds: string[];
  timeRange: {
    start: string;
    end: string;
  };
  keywords?: string[];
  options?: {
    minFrequency?: number;
    maxKeywords?: number;
  };
}

// 分析结果类型
export interface AnalysisResult {
  analysisId: string;
  status: string;
  progress: number;
  result?: {
    timeline: Array<{
      time: string;
      keywords: Array<{
        word: string;
        frequency: number;
        trend: number;
      }>;
    }>;
    hotwords: Array<{
      word: string;
      count: number;
      documents: Array<{
        fileId: string;
        fileName: string;
        snippet: string;
      }>;
    }>;
  };
}
